﻿
namespace GSOrganization.Application;

/// <summary>
/// 人员
/// </summary>
public interface ISysPersonService
{
      ResponseModel Login(LoginInput param);
    SysPersonSettingInput SettingSysPerson();
    ResponseModel Setting(SysPersonSettingInput entity);
    /// <summary>
    /// 注册
    /// </summary>
    /// <param name="entity">一个实体</param>
    /// <returns>成功数量</returns>
    ResponseModel Register(RegisterInput entity);

    /// <summary>
    /// 获取单个实体
    /// </summary> 
    /// <param name="id">主键</param>
    /// <returns></returns>    
    SysPersonOutput GetSysPerson(string id);
    /// <summary>
    /// 列表    
    /// </summary>
    /// <param name="param">列表的参数对象</param>
    /// <returns>列表返回值</returns>
    ResponseModel<List<SysPersonIndexOutput>> DataSysPerson(SysPersonIndexInput param);
    /// <summary>
    /// 注册
    /// </summary>
    /// <param name="entity">一个实体</param>
    /// <returns>成功数量</returns>
    ResponseModel CreateSysPerson(SysPersonInput entity);
    /// <summary>
    /// 删除
    /// </summary> 
    /// <param name="id">主键</param>
    /// <returns></returns>    
    ResponseModel DeleteSysPerson(string id);
    /// <summary>
    /// 重置密码
    /// </summary> 
    /// <param name="id">主键</param>
    /// <returns></returns>    
    ResponseModel ResetSysPerson(string id);
    /// <summary>
    /// 获取用户
    /// </summary>
    /// <param name="param"></param>
    /// <returns></returns>
    MyCurrentUser GetCurrentUser(LoginInput param);
    /// <summary>
    /// 修改密码
    /// </summary>
    /// <param name="entity">修改密码的模型</param>
    /// <returns></returns>
    ResponseModel ChangePassword(ChangePasswordInput entity);
}

